package org.dromara.authcode.domain;

import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serial;

/**
 * 支付流水对象 t_pay_trans
 *
 * @author Miles Meng
 * @date 2025-08-08
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("t_pay_trans")
public class TPayTrans extends BaseEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 支付流水号
     */
    @TableId(value = "trans_id")
    private Long transId;

    /**
     * 支付日期
     */
    private Date transDate;

    /**
     * 支付发起时间
     */
    private Date transTime;

    /**
     * 支付金额;单位：分
     */
    private Long amt;

    /**
     * 三位货币代码
     */
    private String currency;

    /**
     * 支付状态;INIT 初始；SUCC 成功；FAIL 失败；
     */
    private String transStatus;

    /**
     * 订单号;订单表的ID
     */
    private Long orderNo;

    /**
     * 支付渠道;STRIPE
     */
    private String payChannel;

    /**
     * 支付渠道商户号
     */
    private String channelMchNo;

    /**
     * 支付渠道流水号
     */
    private String channelTransId;

    /**
     * 特定渠道发起额外参数
     */
    private String channelExtra;

    /**
     * 渠道用户ID;例如：微信openid
     */
    private String channelUserId;

    /**
     * 用户id
     */
    private Long userId;

    /**
     * 支付方式
     */
    private String payWay;

    /**
     * 是否已返回支付通知;Y 是；N 否；
     */
    private String isReturnNotify;

    /**
     * 支付通知返回时间
     */
    private Date returnNotifyTime;

    /**
     * 支付成功时间
     */
    private Date succTime;


}
